package com.itheima.utils;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

@Data
public class MyPage<T> implements Serializable {
    /**
     * 总条数
     */
    private long total;
    /**
     * 总页数
     */
    private long totalPage;
    /**
     * 每页展示条数
     */
    private long pageSize;
    /**
     * 当前页数
     */
    private long pageNum;
    /**
     * 分页数据
     */
    private List<T> list;

    /**
     * 格式化mybatisplus的分页数据
     *
     * @param page mybatisPlus 的分页数据
     * @return
     */
    public static <T> MyPage<T> init(Page page) {
        // 将查询到的userPage赋值给myPage
        MyPage<T> myPage = new MyPage<>();
        myPage.setTotal(page.getTotal());
        myPage.setTotalPage(page.getPages());
        myPage.setPageSize(page.getSize());
        myPage.setPageNum(page.getCurrent());
        myPage.setList(page.getRecords());
        return myPage;
    }
}